home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / extras / programm / gemfsc20 / gemfsc20.lzh / GEMFBIND / AES@NOTE.S next >
Text File  |  1993-03-11  |  4KB  |  98 lines

  1.  
  2. ;*========================================================================
  3. ;*
  4. ;* AESFAST Public Domain GEM bindings.
  5. ;*
  6. ;*========================================================================
  7.  
  8. ;*************************************************************************
  9. ;* AESNOTES.
  10. ;*
  11. ;* There is nothing executable in this module.  The library's version
  12. ;* number is here, and can be queried at runtime by looking at global
  13. ;* variable '_aesf_version', which is defined below.  I don't know why
  14. ;* anyone would want to do that.
  15. ;*
  16. ;* Mostly this is a collection of notes about the library and its source.
  17. ;*
  18. ;*************************************************************************
  19.  
  20.           globl     _aesf_version
  21. _aesf_version:
  22.           globl     aesV0180
  23. aesV0180:
  24.  
  25.         .dc.w    $0180          ;* version 01.80
  26.  
  27.         .dc.b    'AESFAST v1.80  '
  28.         .dc.b    'by Ian Lepore  '
  29.  
  30. ;*************************************************************************
  31. ;*
  32. ;*  Notes about the AESFAST AES bindings.
  33. ;*
  34. ;*  The object code & library are in 'DRI' format, & are thus compatible
  35. ;*  with Alcyon C, Sozobon C, and any other compiler/linker which can handle
  36. ;*  'DRI-compatible' object files.
  37. ;*
  38. ;*  When used with the Atari 'aln' linker, you must first use the 'DOINDEX'
  39. ;*  program to create a .NDX index file for the library.
  40. ;*
  41. ;*  There is a small fixed overhead (the storage for the AES control blocks
  42. ;*  and a couple of small common interface routines) when using any of the
  43. ;*  AES functions.  This amounts to about a hundred or so bytes.  Beyond
  44. ;*  that, the amount of runtime memory used is about 1/2 of the size of
  45. ;*  the object modules which are linked into your program.  (DRI object
  46. ;*  modules before linking are roughly twice the size they will be after
  47. ;*  linking.)  Thus, if you write a program that causes every module in the
  48. ;*  library to be included, the overhead added to your program will be less
  49. ;*  than 4k.
  50. ;*
  51. ;*  The stack space used by these bindings in processing a typical AES call
  52. ;*  is 10-40 bytes.
  53. ;*
  54. ;*  The library contains one global symbol other than the function names,
  55. ;*  '_gl_apid'.  There are no external references within the library,
  56. ;*  it is self-contained.  It should never be necessary to make multiple
  57. ;*  passes of the linker to resolve all references, and it shouldn't matter
  58. ;*  where the AESFAST name appears on the linker's command line.
  59. ;*
  60. ;*  If you make changes, the 'aescomn' module should appear last in the
  61. ;*  library as all other modules reference it, and the 'aesutil' modules
  62. ;*  should appear first in the library as they contain calls to the other
  63. ;*  AES routines.
  64. ;*
  65. ;*  This code was developed using the Digital Research publication _AES
  66. ;*  Programmer's Guide_.  There may be differences between the DRI docs
  67. ;*  and the Abacus _GEM Programmer's Guide_.
  68. ;*
  69. ;*  This code was developed under Atari's MadMac assembler, and probably
  70. ;*  won't assemble correctly on any other assembler. To convert this code
  71. ;*  to another assembler, the following notes may be of use:
  72. ;*
  73. ;*    All comments are preceded by ';*', many assemblers use the '*' for a
  74. ;*    comment delimiter.  Using an editor, do a 'search and replace all'
  75. ;*    to change ';*' to '*;'.  Please don't change them to just an '*',
  76. ;*    because trying to change them back will also catch computed constants
  77. ;*    such as 'move.l   4*SIZE,d0'.
  78. ;*
  79. ;*    The MadMac '.cargs' opcode is used extensively.  This opcode simply
  80. ;*    generates equates for the named symbols; for another assembler, you
  81. ;*    can comment out the .cargs line and add normal equates, as follows:
  82. ;*
  83. ;*       ;* .cargs  #8,handle.w,pxy.l,color.w
  84. ;*       handle = 8
  85. ;*       pxy    = 10
  86. ;*       color  = 14
  87. ;*
  88. ;*    MadMac recognizes symbols starting with a '.' as local symbols,
  89. ;*    limited in scope to the nearest surrounding non-local symbols.  For
  90. ;*    an assembler that doesn't use local symbols, you're gonna be spending
  91. ;*    a LOT of time removing leading '.' characters and thinking up unique
  92. ;*    names for everything.
  93. ;*
  94. ;*************************************************************************
  95.  
  96. ;       end of code
  97.  
  98.